課程資訊
課程名稱
計算語言學程式設計基礎
Programming Fundamentals for Computation Linguistics 
開課學期
100-1 
授課對象
文學院  語言學研究所  
授課教師
謝舒凱 
課號
LING7502 
課程識別碼
142EM0770 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二6,7,8(13:20~16:20) 
上課地點
樂學館305 
備註
本課程以英語授課。13:10上課。
總人數上限:12人
外系人數限制:7人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1001programning_ling 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This course is open to undergraduate and graduate students with major in Linguistics and Languages. This course will cover the fundamentals of computer programming skills in Python/NLTK, a very popular programming language and modules for many linguistic applications. This course will be taught in English and assumes only minimal background with computers, no programming skills or knowledge are required.  

課程目標
This course is open to undergraduate and graduate students with major in Linguistics and Languages. This course will cover the fundamentals of computer programming skills in Python/NLTK, a very popular programming language and modules for many linguistic applications. This course will be taught in English and assumes only minimal background with computers, no programming skills or knowledge are required.  
課程要求
You are expected to complete weekly readings and assignments, and actively participate in both class and online activities. A course website with NTU-CEIBA is already set up for this course. Check it out at https://ceiba.ntu.edu.tw/1001programning_ling.

Each class will be divided into two sessions: lecture and discussion (two hours), and in-class Lab session (one hour). Lab session will give participants hands-on experience in writing simple Python programs.

You are expected to submit a term project involving basic python programming technique. You will be asked to turn in a proposal early in the semester so that I can help you design and execute your project. Proposed topics will also be discussed in class later.

There will be no exams. Grading is based on : 60% of the grade will be based on participation and exercises. Students will be given several in-class and homework assignments. The remaining 40% will be based on their performance on a project, including the effort going into its development and the quality of their written and oral presentation of it during the last week of class.

 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
There will be no single textbook for this course. However, we will mainly refer to two learning materials: ``Think Python: An Introduction to Software Design." (2008) and ``Natural Language Processing with Python --- Analyzing Text with the Natural Language Toolkit" (2009). These two books are available for free on the web. For your interest, other references are listed on the next page.  
參考書目
Hetland, Magnus Lie. Beginning Python: From Novice to Professional. Apress.

Johnson, Mark. 2009. Essential Python for Corpus Linguistics. Blackwell, New York.

Kennedy, Graeme. 1998. An Introduction to Corpus Linguistics. Longman.

Lutz, Mark. 2008. Learning Python. O'REILLY.

Merz, David. 2003. Text Processing in Python. Addison-Wesley, Reading, USA.

Sampson, Geoffrey and Diana McCartthy. 2004. Corpus Linguistics: Readings in a Widening Discipline. Continuum.

Scott, Mike and Christopher Tribble. 2006. Textual Patterns: Key words and corpus analysis in language education. John Benjamins.

 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
9/13  Orientation  
第2週
9/20  Introduction to Python and Language Processing; Installation, First program (Reading: Think Python CH1) 
第3週
9/27  The Basics: variables, expressions and statements; Accessing corpora (Reading: Think Python CH2) 
第4週
10/04  The Basics; (Reading: Think Python CH3) 
第5週
10/11  Data types and data structures (lists, tuples) (Reading: Think Python CH5) 
第6週
10/18  Data structures (dictionaries) (Reading: Think Python CH6) 
第7週
10/25  Data flow (if, while loops) (Reading: Think Python CH7) 
第8週
11/01  Data flow (for loops) (Reading: Think Python CH8) 
第9週
11/08  Functions (Reading: Think Python CH10 & CH12) 
第10週
11/15  File input and output (Reading: Think Python CH11) 
第11週
11/22  Modules and Packages (Reading: Think Python CH14) 
第12週
11/29  Modules and Packages 
第13週
12/06  Regular expressions 
第14週
12/13  Regular expressions 
第15週
12/20  Object-oriented programming (Reading: Think Python CH15 & CH16) 
第16週
12/27  Object-oriented programming (Reading: Think Python CH17 & CH18) 
第17週
1/03  Class project workshop